A virtual universe (VU) is a computer-based simulated environment intended for its residents represented by avatars to traverse, inhabit, and interact through the use of the avatars. Many VUs are represented using three-dimensional (3D) graphics and landscapes, and are populated by many thousands of users, known as “residents.” Often, a VU resembles the real world, such as in terms of utilizing the laws of physics, and the use of houses and landscapes.
A computer avatar is a personalized graphic file or rendering that represents a computer user, or resident. These avatars are usually depicted as textual, two-dimensional, or three-dimensional graphical representations, although other forms are possible (auditory and touch sensations for example).
There may be multiple virtual universes. One such virtual universe is provided by Second Life. Second Life is an Internet-based virtual universe launched in 2003, developed by Linden Research, Inc. (commonly referred to as Linden Lab). Second Life® is a trademark of Linden Research, Inc.
In some implementations of a virtual universe, a single server may be assigned one or more regions of land within the virtual universe. For the assigned region(s), the server may perform calculations for activities within each respective region. Activities include, but are not limited to, identifying and describing the current geometry of the visible region for each resident, transmitting required textures for region rendering, streaming media such as music or video and transitioning clients to/from other servers as residents move between regions served by the other servers. (A client may be considered to be a computer system operated by a user to access a VU.) Due to the inherent nature of virtual universe activities, such as teleporting, the number of residents can quickly shift to one region and one corresponding server. If the server does not have enough computing resources available for the number of residents in the region, users of the VU may notice service degradation or, alternatively, a server failure may occur.
Further compounding the server overload problem is that most embodiments of VU servers are applications running within a multitasking operating system such as a Microsoft Windows® operating system, a Linux® operating system, or a Unix® operating system. (Windows is a registered trademark of Microsoft Corporation. Linux is a registered trademark of Linus Torvalds. Unix is a registered trademark of The Open Group.) Due to the multitasking nature of these operating systems, processes outside of the VU server software utilized for managing the assigned VU regions may use server processing unit resources resulting in less resources available to the VU server which may already be over-tasked. Present solutions to server overload in general include techniques such as server clustering, task prioritization, and resource provisioning.